package com.zmn.oms.model.entity.pay;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderPay {

    /**
     * id
     */
    private Long orderPayId;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 工单Id
     */
    private Long workId;

    /**
     * 收款平台（交易类型为支付）10 啄木鸟，20 言而有信，30 一步维修，40 川南环保，50 笨鸟
     */
    private Integer payPlat;

    /**
     * 金额类型 11 平台预收款，12,渠道预收款，13定金，14 尾款
     * @see com.zmn.oms.common.constant.OrderPayConsts#ORDER_PAY_PREPAY
     */
    private Integer amountType;

    /**
     * 交易类型：1实时到账， 3退款
     * @see com.zmn.pay.common.constant.PayConsts#PAY_TRADE_TYPE_INTIME
     */
    private Integer tradeType;

    /**
     * 退款类型：1 原路返回，2 线下退款
     */
    private Integer refundType;

    /**
     * 支付状态
     */
    private Integer payStatus;

    /**
     * 支付渠道
     */
    private Integer payChannelId;

    /**
     * 支付方式
     */
    private Integer payType;

    /**
     * 目标渠道
     */
    private Integer payTargetChannelId;

    /**
     * 目标支付方式
     */
    private Integer payTargetType;

    /**
     * 合并支付内部流水号（商家流水号）
     */
    private String mergeInnerTradeNo;

    /**
     * 合并支付第三方流水号（平台流水号）支付流水号
     */
    private String mergePayOutTradeNo;

    /**
     * 合并支付金额
     */
    private Integer mergeAmount;

    /**
     * 内部流水号（商家流水号）
     */
    private String innerTradeNo;

    /**
     * 第三方流水号（平台流水号）
     */
    private String payOutTradeNo;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 凭证图片
     */
    private String imageUrls;

    /**
     * 付款人类型
     */
    private Integer payerType;

    /**
     * 付款人id
     */
    private Long payerId;

    /**
     * 付款人资金账号id
     */
    private Long payerAccountId;

    /**
     * 付款人第三方帐号(支付宝，微信.)
     */
    private String payerThirdAccount;

    /**
     * 付款账号名
     */
    private String payerThirdAccountName;

    /**
     *付款银行
     */
    private String payerThirdAccountBank;

    /**
     * 收款人类型
     */
    private Integer payeeType;

    /**
     * 收款人id
     */
    private Long payeeId;

    /**
     * 收款人资金账号id
     */
    private Long payeeAccountId;

    /**
     * 收款人帐号
     */
    private String payeeThirdAccount;

    /**
     * 收款人帐号名称
     */
    private String payeeThirdAccountName;
    /**
     * 收款人一行
     */
    private String payeeThirdAccountBank;
    /**
     * 退款凭证数据
     */
    private String refundImageData;

    /**
     * 金额
     */
    private Integer amount;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 纬度
     */
    private Double latitude;

    /**
     * 创建人
     */
    private String creater;

    /**
     * 最新修改人
     */
    private String updater;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 最新修改时间
     */
    private Date updateTime;

    /**
     * 是否重复支付 1 否 2是
     */
    private Integer duplicate;

    /**
     * 是否删除 1未删除 2已删除
     */
    private Integer deleted;

    /**
     * 代付 1: 非代付  2：代付
     */
    private Integer agentType;
}
